A common problem with providing web-browsing on portable electronic devices is that the computing and network resources for portable electronic devices are constrained, at least relative to desktop electronic devices, and typically web-pages are optimized for desktop electronic devices. Generation of such desktop optimized web-pages on portable electronic devices is therefore often slow, at best, to the point where such generation is impractical.
Many solutions to this problem are contemplated, including provision of static web-pages optimized for portable electronic devices, or providing dynamic transcoding of desktop-optimized web-pages for portable electronic devices. The provision of static web-pages can be problematic as it involves the preparation of different sets of web-pages for different computing environments. Transcoding can obviate the preparation of different web-pages, but current transcoding processes do not adequately address certain problems that can arise during transcoding and which can still ultimately result in poor performance at the portable electronic device.
Hypertext markup language (HTML) syntax provides a way to specify the location, width, height, source, and alignment of a particular image via the IMG tag. This information, along with other tags, can be used when rendering a webpage to ensure the pictures are in the intended position. During the rendering process a webpage may change drastically when an image is inserted based on its properties as it can require a complete shift of all the text on the screen.
When a mobile device attempts to render a webpage with images, it can run into a few problems. First, the low power processor can take a long time to render a page upon receipt of an image. Second, due to the unknown size of certain images a website displayed on a mobile may change a lot with each new image downloaded as it attempts to “fit” the image into the correct position on the page. Third, each image loaded on a device can cause the currently displayed page location to shift such that the browser is unusable until the page is fully loaded.